zimni a letni cas
Otázka od: Tomas Krysl
28. 11. 2002 20:57
Cau,
potreboval bych funkci na vypocet prechodu zimni/letni cas.
Diky
T.
-----
Ing. Tomáš Krýsl,
programátor a analytik
ALVA Strakonice s.r.o.
Písecká 893, 386 01 Strakonice
++420 377 430 701
GSM: 776 892 206
tomkrysl@quick.cz
Odpovedá: Petr Brant
29. 11. 2002 8:48
Pokud staci zjistit, zda aktualni systemove datum lezi v letnim resp. zimnim
case, tak mam tuto funkci:
function IsDaylightSavingTime: boolean;
//zkoumá, zda aktuální datum spadá do letního času
var TZI: _TIME_ZONE_INFORMATION;
begin
Result:=(GetTimeZoneInformation(TZI) = TIME_ZONE_ID_DAYLIGHT);
end;
Subject: zimni a letni cas
potreboval bych funkci na vypocet prechodu zimni/letni cas.
Odpovedá: Jiri Foldyna
29. 11. 2002 10:50
> potreboval bych funkci na vypocet prechodu zimni/letni cas.
Ahoj,
zkus tohle:
(**********************************************************************)
(* IsLetniCas
(**********************************************************************)
function IsLetniCas(CheckDT : TDateTime) : boolean;
var
StartDateTime, EndDateTime : TDate;
Year : word;
begin
Year := StrToInt(FormatDateTime('yyyy', CheckDT));
StartDateTime := EncodeDate(Year, 3, 31) + EncodeTime(2, 0, 0, 0);
StartDateTime := StartDateTime - DayOfWeek(StartDateTime) + 1;
EndDateTime := EncodeDate(Year, 10, 31) + EncodeTime(3, 0, 0, 0);
EndDateTime := EndDateTime - DayOfWeek(EndDateTime) + 1;
if Year < 1996 then
EndDateTime := IncMonth(EndDateTime, -1);
Result := ((CheckDT >= StartDateTime) and (CheckDT < EndDateTime));
end;
Zdravim
Jiri Foldyna
mailto:jiri.f@avizo.cz